
#include "Ray.h"
#include <QtOpenGL/qgl.h>

Ray::Ray() {}


Ray::Ray(const Point&p1, const Point&p2)
{
    p=p1;           // punto de paso
    v=(p2-p1);      // vector director: de p1 a p2
    v.normalize();  // el vector se mantiene normalizado
}


Ray::Ray(const Point&paso, const Vector& vdir)
{
    p=paso;
    v=vdir;
    v.normalize();  // el vector se mantiene normalizado
}




Vector Ray::vector(void) const
{
    return v;
}


Point Ray::origin(void) const
{
    return p;
}

void Ray::Render()
{
    glDisable(GL_LIGHTING);
    glBegin(GL_LINES);
    glColor3f(1,0,0);
    glVertex3f(p.x,p.y,p.z);
    glVertex3f(p.x+v.x*10,p.y+v.y*10,p.z+v.z*10);
    glEnd();
}

